\hypertarget{group__KernelService}{
\section{KernelService}
\label{group__KernelService}\index{KernelService@{KernelService}}
}
\subsection*{宏定义}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__KernelService_ga4cc6d94199b8cd5c2b90dc398a44f654}{
\#define \hyperlink{group__KernelService_ga4cc6d94199b8cd5c2b90dc398a44f654}{RT\_\-LIST\_\-OBJECT\_\-INIT}(object)~\{ \&(object), \&(object) \}}
\label{group__KernelService_ga4cc6d94199b8cd5c2b90dc398a44f654}

\begin{DoxyCompactList}\small\item\em initialize a list object \item\end{DoxyCompactList}\item 
\#define \hyperlink{group__KernelService_ga52568d5666fbf7f7f5d0b96149d5ebd1}{rt\_\-list\_\-entry}(node, type, member)~((type $\ast$)((char $\ast$)(node) -\/ (unsigned long)(\&((type $\ast$)0)-\/$>$member)))
\begin{DoxyCompactList}\small\item\em get the struct for this entry \item\end{DoxyCompactList}\item 
\hypertarget{group__KernelService_gab03f640d90fbc5bcb75285d08a0f25ed}{
\#define {\bfseries errno}~$\ast$\_\-rt\_\-errno()}
\label{group__KernelService_gab03f640d90fbc5bcb75285d08a0f25ed}

\end{DoxyCompactItemize}
\subsection*{函数}
\begin{DoxyCompactItemize}
\item 
rt\_\-inline void \hyperlink{group__KernelService_ga7103f52aa8c7402c9e87f03942d8bc9f}{rt\_\-list\_\-init} (\hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$l)
\begin{DoxyCompactList}\small\item\em initialize a list \item\end{DoxyCompactList}\item 
rt\_\-inline void \hyperlink{group__KernelService_ga7d57c901bb0ee4e1b9ed92a5a196cc39}{rt\_\-list\_\-insert\_\-after} (\hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$l, \hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$n)
\begin{DoxyCompactList}\small\item\em insert a node after a list \item\end{DoxyCompactList}\item 
rt\_\-inline void \hyperlink{group__KernelService_ga31047c521c265353f8372043fb6ff5ef}{rt\_\-list\_\-insert\_\-before} (\hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$l, \hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$n)
\begin{DoxyCompactList}\small\item\em insert a node before a list \item\end{DoxyCompactList}\item 
rt\_\-inline void \hyperlink{group__KernelService_ga0525e5898dd57464613551b887256c28}{rt\_\-list\_\-remove} (\hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$n)
\begin{DoxyCompactList}\small\item\em remove node from list. \item\end{DoxyCompactList}\item 
rt\_\-inline int \hyperlink{group__KernelService_ga2b25b69a89568b7f2bf6ed5e9e70da74}{rt\_\-list\_\-isempty} (const \hyperlink{structrt__list__node}{rt\_\-list\_\-t} $\ast$l)
\begin{DoxyCompactList}\small\item\em tests whether a list is empty \item\end{DoxyCompactList}\item 
\hypertarget{group__KernelService_ga30501ddeb176f989c694c262826f8723}{
void {\bfseries rt\_\-kprintf} (const char $\ast$fmt,...)}
\label{group__KernelService_ga30501ddeb176f989c694c262826f8723}

\item 
\hypertarget{group__KernelService_ga56abddf94d78f86180c2433dae32099c}{
\hyperlink{group__BasicDef_gae5c6ccee15f067714ca9c44e509c4047}{rt\_\-int32\_\-t} {\bfseries rt\_\-vsprintf} (char $\ast$dest, const char $\ast$format, va\_\-list arg\_\-ptr)}
\label{group__KernelService_ga56abddf94d78f86180c2433dae32099c}

\item 
\hypertarget{group__KernelService_ga36c861ec1a7eac18e2bd5b9bdce2f176}{
\hyperlink{group__BasicDef_gae5c6ccee15f067714ca9c44e509c4047}{rt\_\-int32\_\-t} {\bfseries rt\_\-sprintf} (char $\ast$buf, const char $\ast$format,...)}
\label{group__KernelService_ga36c861ec1a7eac18e2bd5b9bdce2f176}

\item 
\hypertarget{group__KernelService_ga5f1baef67f4fa7f7acaba1cd251e0df2}{
\hyperlink{group__BasicDef_gae5c6ccee15f067714ca9c44e509c4047}{rt\_\-int32\_\-t} {\bfseries rt\_\-snprintf} (char $\ast$buf, \hyperlink{group__BasicDef_ga8011d259fdfc54b8a9aa006b4d49ac14}{rt\_\-size\_\-t} size, const char $\ast$format,...)}
\label{group__KernelService_ga5f1baef67f4fa7f7acaba1cd251e0df2}

\item 
\hypertarget{group__KernelService_ga17b8724a14746aa74d7c2969c3289fbc}{
\hyperlink{group__BasicDef_ga42df42aabf676f2a89f5af2208b79950}{rt\_\-err\_\-t} {\bfseries rt\_\-get\_\-errno} (void)}
\label{group__KernelService_ga17b8724a14746aa74d7c2969c3289fbc}

\item 
\hypertarget{group__KernelService_ga507b98e0ac2b0e21328c720cec9aae49}{
void {\bfseries rt\_\-set\_\-errno} (\hyperlink{group__BasicDef_ga42df42aabf676f2a89f5af2208b79950}{rt\_\-err\_\-t} no)}
\label{group__KernelService_ga507b98e0ac2b0e21328c720cec9aae49}

\item 
\hypertarget{group__KernelService_ga9414eec588ad45e531d5cae27ff9c033}{
int $\ast$ {\bfseries \_\-rt\_\-errno} (void)}
\label{group__KernelService_ga9414eec588ad45e531d5cae27ff9c033}

\item 
\hypertarget{group__KernelService_gad9d9e520332ae84d066024194b1d3dbd}{
void $\ast$ {\bfseries rt\_\-memset} (void $\ast$src, int c, \hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} n)}
\label{group__KernelService_gad9d9e520332ae84d066024194b1d3dbd}

\item 
\hypertarget{group__KernelService_gae870aa23eab953305ebba5a6e17b9d65}{
void $\ast$ {\bfseries rt\_\-memcpy} (void $\ast$dest, const void $\ast$src, \hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} n)}
\label{group__KernelService_gae870aa23eab953305ebba5a6e17b9d65}

\item 
\hypertarget{group__KernelService_gad45fdd0ca4553763ed24a9dd4c42793f}{
\hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} {\bfseries rt\_\-strncmp} (const char $\ast$cs, const char $\ast$ct, \hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} count)}
\label{group__KernelService_gad45fdd0ca4553763ed24a9dd4c42793f}

\item 
\hypertarget{group__KernelService_ga322e6a53d471e6582b4f82e0d86d10ea}{
\hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} {\bfseries rt\_\-strcmp} (const char $\ast$cs, const char $\ast$ct)}
\label{group__KernelService_ga322e6a53d471e6582b4f82e0d86d10ea}

\item 
\hypertarget{group__KernelService_gad3eaa0aebd6db3711c66ed4db0b814ad}{
\hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} {\bfseries rt\_\-strlen} (const char $\ast$src)}
\label{group__KernelService_gad3eaa0aebd6db3711c66ed4db0b814ad}

\item 
\hypertarget{group__KernelService_ga948b349619384854fd35b706f04ce764}{
char $\ast$ {\bfseries rt\_\-strdup} (const char $\ast$s)}
\label{group__KernelService_ga948b349619384854fd35b706f04ce764}

\item 
\hypertarget{group__KernelService_gaef0b123a287a76431621ef3a09dcfdf3}{
char $\ast$ {\bfseries rt\_\-strstr} (const char $\ast$str1, const char $\ast$str2)}
\label{group__KernelService_gaef0b123a287a76431621ef3a09dcfdf3}

\item 
\hypertarget{group__KernelService_ga60317ec50ec7580763d7fafd44f344a5}{
\hyperlink{group__BasicDef_gae5c6ccee15f067714ca9c44e509c4047}{rt\_\-int32\_\-t} {\bfseries rt\_\-sscanf} (const char $\ast$buf, const char $\ast$fmt,...)}
\label{group__KernelService_ga60317ec50ec7580763d7fafd44f344a5}

\item 
\hypertarget{group__KernelService_ga0b2e9868926d3db26c67c3c8b3355699}{
char $\ast$ {\bfseries rt\_\-strncpy} (char $\ast$dest, const char $\ast$src, \hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} n)}
\label{group__KernelService_ga0b2e9868926d3db26c67c3c8b3355699}

\item 
\hypertarget{group__KernelService_gae2b1e945a61cb83ac5f46ef85038a547}{
void $\ast$ {\bfseries rt\_\-memmove} (void $\ast$dest, const void $\ast$src, \hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} n)}
\label{group__KernelService_gae2b1e945a61cb83ac5f46ef85038a547}

\item 
\hypertarget{group__KernelService_ga4fe9ceae2937c508dd668aaec1019ae8}{
\hyperlink{group__BasicDef_gae5c6ccee15f067714ca9c44e509c4047}{rt\_\-int32\_\-t} {\bfseries rt\_\-memcmp} (const void $\ast$cs, const void $\ast$ct, \hyperlink{group__BasicDef_ga958cc0f5d3f7bf59850cd8bd13a4aeb0}{rt\_\-ubase\_\-t} count)}
\label{group__KernelService_ga4fe9ceae2937c508dd668aaec1019ae8}

\item 
\hypertarget{group__KernelService_ga5ccf01d436b44080746f989058d6058b}{
\hyperlink{group__BasicDef_ga909edcac80e5e3f93f63fcebc95922c7}{rt\_\-uint32\_\-t} {\bfseries rt\_\-strcasecmp} (const char $\ast$a, const char $\ast$b)}
\label{group__KernelService_ga5ccf01d436b44080746f989058d6058b}

\item 
\hypertarget{group__KernelService_ga11ecdcdb5b09e6e18b52625c1e904dca}{
void {\bfseries rt\_\-show\_\-version} (void)}
\label{group__KernelService_ga11ecdcdb5b09e6e18b52625c1e904dca}

\end{DoxyCompactItemize}


\subsection{宏定义文档}
\hypertarget{group__KernelService_ga52568d5666fbf7f7f5d0b96149d5ebd1}{
\index{KernelService@{KernelService}!rt\_\-list\_\-entry@{rt\_\-list\_\-entry}}
\index{rt\_\-list\_\-entry@{rt\_\-list\_\-entry}!KernelService@{KernelService}}
\subsubsection[{rt\_\-list\_\-entry}]{\setlength{\rightskip}{0pt plus 5cm}\#define rt\_\-list\_\-entry(node, \/  type, \/  member)~((type $\ast$)((char $\ast$)(node) -\/ (unsigned long)(\&((type $\ast$)0)-\/$>$member)))}}
\label{group__KernelService_ga52568d5666fbf7f7f5d0b96149d5ebd1}


get the struct for this entry 


\begin{DoxyParams}{参数}
\item[{\em node}]the entry point \item[{\em type}]the type of structure \item[{\em member}]the name of list in structure \end{DoxyParams}


\subsection{函数文档}
\hypertarget{group__KernelService_ga7103f52aa8c7402c9e87f03942d8bc9f}{
\index{KernelService@{KernelService}!rt\_\-list\_\-init@{rt\_\-list\_\-init}}
\index{rt\_\-list\_\-init@{rt\_\-list\_\-init}!KernelService@{KernelService}}
\subsubsection[{rt\_\-list\_\-init}]{\setlength{\rightskip}{0pt plus 5cm}rt\_\-inline void rt\_\-list\_\-init ({\bf rt\_\-list\_\-t} $\ast$ {\em l})}}
\label{group__KernelService_ga7103f52aa8c7402c9e87f03942d8bc9f}


initialize a list 


\begin{DoxyParams}{参数}
\item[{\em l}]list to be initialized \end{DoxyParams}
\hypertarget{group__KernelService_ga7d57c901bb0ee4e1b9ed92a5a196cc39}{
\index{KernelService@{KernelService}!rt\_\-list\_\-insert\_\-after@{rt\_\-list\_\-insert\_\-after}}
\index{rt\_\-list\_\-insert\_\-after@{rt\_\-list\_\-insert\_\-after}!KernelService@{KernelService}}
\subsubsection[{rt\_\-list\_\-insert\_\-after}]{\setlength{\rightskip}{0pt plus 5cm}rt\_\-inline void rt\_\-list\_\-insert\_\-after ({\bf rt\_\-list\_\-t} $\ast$ {\em l}, \/  {\bf rt\_\-list\_\-t} $\ast$ {\em n})}}
\label{group__KernelService_ga7d57c901bb0ee4e1b9ed92a5a196cc39}


insert a node after a list 


\begin{DoxyParams}{参数}
\item[{\em l}]list to insert it \item[{\em n}]new node to be inserted \end{DoxyParams}
\hypertarget{group__KernelService_ga31047c521c265353f8372043fb6ff5ef}{
\index{KernelService@{KernelService}!rt\_\-list\_\-insert\_\-before@{rt\_\-list\_\-insert\_\-before}}
\index{rt\_\-list\_\-insert\_\-before@{rt\_\-list\_\-insert\_\-before}!KernelService@{KernelService}}
\subsubsection[{rt\_\-list\_\-insert\_\-before}]{\setlength{\rightskip}{0pt plus 5cm}rt\_\-inline void rt\_\-list\_\-insert\_\-before ({\bf rt\_\-list\_\-t} $\ast$ {\em l}, \/  {\bf rt\_\-list\_\-t} $\ast$ {\em n})}}
\label{group__KernelService_ga31047c521c265353f8372043fb6ff5ef}


insert a node before a list 


\begin{DoxyParams}{参数}
\item[{\em n}]new node to be inserted \item[{\em l}]list to insert it \end{DoxyParams}
\hypertarget{group__KernelService_ga2b25b69a89568b7f2bf6ed5e9e70da74}{
\index{KernelService@{KernelService}!rt\_\-list\_\-isempty@{rt\_\-list\_\-isempty}}
\index{rt\_\-list\_\-isempty@{rt\_\-list\_\-isempty}!KernelService@{KernelService}}
\subsubsection[{rt\_\-list\_\-isempty}]{\setlength{\rightskip}{0pt plus 5cm}rt\_\-inline int rt\_\-list\_\-isempty (const {\bf rt\_\-list\_\-t} $\ast$ {\em l})}}
\label{group__KernelService_ga2b25b69a89568b7f2bf6ed5e9e70da74}


tests whether a list is empty 


\begin{DoxyParams}{参数}
\item[{\em l}]the list to test. \end{DoxyParams}
\hypertarget{group__KernelService_ga0525e5898dd57464613551b887256c28}{
\index{KernelService@{KernelService}!rt\_\-list\_\-remove@{rt\_\-list\_\-remove}}
\index{rt\_\-list\_\-remove@{rt\_\-list\_\-remove}!KernelService@{KernelService}}
\subsubsection[{rt\_\-list\_\-remove}]{\setlength{\rightskip}{0pt plus 5cm}rt\_\-inline void rt\_\-list\_\-remove ({\bf rt\_\-list\_\-t} $\ast$ {\em n})}}
\label{group__KernelService_ga0525e5898dd57464613551b887256c28}


remove node from list. 


\begin{DoxyParams}{参数}
\item[{\em n}]the node to remove from the list. \end{DoxyParams}
